package com.shareyi.baseproject.kernel.common.spi;

import java.util.List;

/**
 * 对象序列化工具
 *
 * @author david
 * @date 2021-08-31
 */
public interface ObjectSerialization {

    /**
     * 转换为JSON string
     *
     * @param object
     * @return
     */
    String toJSONString(Object object);

    /**
     * 从json转换为java对象
     *
     * @param json
     * @param clazz
     * @param <T>
     * @return
     */
    <T> T parseObject(String json, Class<T> clazz);

    /**
     * 从json转换为java数组对象
     *
     * @param json
     * @param clazz
     * @param <T>
     * @return
     */
    <T> List<T> parseArray(String json, Class<T> clazz);
}
